

## lambda函数

# def is_odd(n):
#     return n%2==1

is_odd=lambda n:n%2==1
L=list(filter(is_odd,range(1,20)))#filter过滤器
print(L)

def dup(str='hello',times=2):
    print(str*times)

dup()


def vfunc(a,*b):
    print(type(b))
    for n in b:
        a=a+n
    return a
print(vfunc(1,2,3,4,5))

def product(x,*y):
    for i in y:
        x=x*i
    return x,y
print(product(1,2,3,4,5))

#5.2.4函数对变量的作用
n=1 #全局变量
def my():
    global  n#global 全局
    n=2
    c=1
my()
print(n)
ls=[]
def func(a,b):
   ls.append(2)
   return a*b
s=func("knock",2)
print(s,ls)

#1.对于可迭代序列来说，定义了一个全局变量，
##当函数体内没有定义同名可迭代序列，在函数体内操作变量，是对全局变量进行操作
#2. 对于可迭代序列来说，定义了一个全局变量，当在函数体内定义了一个同名变量，这个
##时候在函数体内对变量操作，不影响全局变量





